OPTIMIZE, Version 2.8 Harddisk-Optimizer ½ 1993-1998 by H.-P. Vetter This program is distributed in the hope that it may be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. OPTIMIZE ist ein auf Geschwindigkeit getrimmter Festplatten-Defragmentierer. Das Umkopieren der Daten erfolgt deshalb im RAM. Bei manchen anderen Defragmentierern, die auf Sicherheit setzen, sind alle Daten w„hrend der Umkopier-Phase noch einmal auf der Platte vorhanden. Dies ist bei OPTIMIZE _nicht_ der Fall! Deshalb die ausdrckliche WARNUNG: W„hrend der Optimierungs-Phase, d.h. wenn die KBs der noch zu optimierenden Daten ("to do") heruntergez„hlt werden, darf kein Reset erfolgen, der Rechner nicht ausgeschaltet werden und auch kein Stromausfall erfolgen! Wenn das doch passiert, ist die betreffende Partition mit ziemlicher Sicherheit hinber! Aužerdem darf die Platte (Partition) _keine_ defekten Sektoren haben, sofern diese nicht als defekt in der FAT markiert sind. Das Programm versucht zwar in diesem Fall zu retten, was zu retten ist, aber dafr gibt's keine Garantie. Deshalb vorher wenigstens einmal den physikalischen Check (Prflesen) laufen lassen. Der ist z.Zt. zwar grndlich, aber auch ziemlich langsam. OPTIMIZE legt die Daten "am Ende" der Partition ab, damit TOS schnelleren Zugriff beim Suchen nach freien Clustern hat. Daraus kann die Meldung eines anderen Optimierers, die von OPTIMIZE optimierte Partition sei nicht optimiert, resultieren. Diese Organisation hat zudem den Vorteil, daž bei regelm„žiger Anwendung Dateien, die nicht ver„ndert werden, ans hintere Ende geschoben werden, und dann auch vom Optimierer nicht mehr berhrt werden mssen. Zur Bedienung: Im wesentlichen erkl„rt sich das Programm von selbst, da es unter GEM eingebunden ist. (1) Physikalischer Check = Prflesen aller Sektoren (Cluster) (2) Logischer Check = Konsistenz der FAT (3) Optimierung = Defragmentieren Man w„hlt die zu bearbeitende Partition (auch mehrere) aus, entscheidet sich fr eine oder mehrere der drei Arbeiten (1-3) und bet„tigt den dick umrandeten Button (Yes, it's okay), um die Arbeit auszul”sen. Nach getaner Arbeit meldet sich das Programm wieder, damit man es verlassen oder eine andere Aktion ausl”sen kann. Beim Verlassen erfolgt ein automatischer Reset, um auf jeden Fall einen Plattenzugriff mit einer alten (vor dem Optimieren) FAT auf die umstrukturierte Platte zu verhindern. Folgende Shortcuts existieren im Eingabedialog: Laufwerk an/ausschalten ALT- Funktionswahl (linker Kasten) CTRL- (rechter Kasten) Nachdem die zu bearbeitende Partition (log. Laufwerk) durch "devlock" gesperrt wird, ist auch die Verwendung unter MTask-Systemen m”glich. Trotzdem sollte jede Arbeit auf einer zu optimierenden Partition unterbleiben. Insbesondere muž hier auf ACCs oder im Hintergrund laufende Programme geachtet werden. Ein Reset nach dem Optimieren wird zwar empfohlen, vom Programm aber nicht mehr erzwungen. OPTIMIZE kann auch von einer Shell, die den Start von PRGs erlaubt, erfolgen. Dann k”nnen die Dialog-Einstellungen ber die Kommandozeile vorgenommen werden. Das geht auch, wenn OPTIMIZE als GTP angemeldet wird. Dabei steht -p fr den phys. Check -l fr den log. Check -o fr die Optimierung -q fr quiet (weniger Meldungen) -r fr repair (verlorene Cluster wiederholen) -x fr execute (mach das, was ich Dir gesagt habe) -2 eine Ziffer bestimmt die Anzahl der Retries im phys. Check (1-9) Um also z.B: die Laufwerke C:, D: und E: zu optimieren, kann man folgenden Befehl verwenden: optimize -lox cde oder optimize ce -lo d -x Die Reihenfolge spielt keine Rolle. Ein Parameter mit '-' gibt Optionen an, ein Parameter ohne '-' definiert Laufwerke. Zus„tzlich k”nnen ber die Kommandozeile Cluster-Nummern (mit vorangestelltem '#') angegeben werden. Die Namen der Dateien, die die angegebenen Clustern belegen, werden protokolliert. (Z.B.: "... #123 #4567") Erw„hnenswert ist noch, daž ein logischer Check vor dem Optimieren unbedingt sinnvoll ist, da eine defekte Partition nicht optimiert werden kann! Verlorene Cluster, die als belegt markiert aber von keinem Directory- Eintrag referenziert sind, k”nnen mit der Option -r "freigegeben" werden. Das Programm sollte mit allen Festplatten-Treibern harmonieren, da fr den Platten-Zugriff lediglich die Xbios-Funktion "Rwabs" benutzt wird. Die g„ngigen Sektor-Gr”žen (GEM/BGM) werden untersttzt, jedoch sollte die Sektoranzahl einer Partition nicht im oberen Grenzbereich (32110..32767, 65400..65535, 130800..131071, ...) liegen, da es hier zu (bisher unerkl„rlichen) Fehlern kommt. Meine eigenen Partitionen haben i.A. Gr”žen von 32100, 65400, 130800, 261600 Sektoren (Die ersten beiden Zahlen sehen doch gut aus, und die anderen sind eben Vielfache). OPTIMIZE l„uft bisher problemlos auf 520, 1040, MegaST, TT, F030, Medusa, Hades, am ACSI- und SCSI-Bus, mit Platten von der Megafile30 bis zur 4-GB-Platte, ebenso Wechselplatten (Syquest 44 und 270) und MO-Laufwerken. VFAT-Filesysteme (MagiC 5.0) ---------------------------- OPTIMIZE kann auch auf VFAT-Partitionen eingesetzt werden. Hierbei ist es unerheblich, ob fr die Partition gerade VFAT ein- oder ausgeschaltet ist. Normalerweise werden VFAT-Directory-Eintr„ge (VDIR) einfach ignoriert, d.h., daž VDIR-Eintr„ge, wenn sie vorhanden sind, in gleicher Weise nach dem Optimieren noch immer da sind. (Ausnahme: ein ungltiger VDIR-Eintrag, dem kein DIR-Eintrag zugeordnet ist, wird gel”scht, wenn er der letzte Eintrag in einem Verzeichnis ist.) Durch die Option "correct l." werden beim _Optimieren_ ungltige VDIR-Eintr„ge entfernt. Diese entstehen dann, wenn bei ausgeschalteten "langen Namen" Dateien gel”scht, verschoben oder umbenannt werden, da dann nur der DIR- Eintrag aber nicht die VDIR-Eintr„ge ver„ndert werden. Durch die Option "kill longs" werden beim _Optimieren_ alle VDIR-Eintr„ge entfernt. Man erh„lt dann ein normales FAT-Filesystem. phys. Check ----------- Im physikalischen Check werden alle Sektoren/Cluster einer Partition gelesen. Zur Geschwindigkeitssteigerung erfolgt dies zun„chst blockweise (abhg. vom verfgbaren Speicher). Im Fehlerfall werden die Sektoren dann einzeln gelesen, um die genaue Fehlerstelle zu bestimmen. Falls der fehlerhafte Sektor keiner Datei zugeordnet ist, so kann dieser als defekt markiert werden. Andernfalls ist keine Markierung m”glich. Um die l„stigen GEM-Alerts bei Lesefehlern los zu werden, zeigt der etv_critic- Vektor w„hrend des Checks auf eine eigene Routine. D.h., man sollte das Programm w„hrend dieses Checks NICHT "hart beenden" (nur in MT-Umgebung m”glich), sondern gegebenenfalls lieber gleich einen Reset ausl”sen. Zum geordneten Abbruch muž die Maus ber dem Abbruchbutton gedrckt werden, bis eine Reaktion des Programms erfolgt. Dies kann u.U. auch schon mal etwas l„nger dauern. Markierungen in der FAT werden erst ganz zum Schluž auf die Platte geschrieben. Bei Abbruch bleibt die FAT unver„ndert. Dies kann (bei Shell-Aufruf) durch folgende Option ge„ndert werden: -m Markierung ohne Rckfrage setzen -mm auch belegte Cluster als defekt markieren -mmm FAT nach jeder Žnderung zurckschreiben -mmmm aužerdem keine Rckfrage -mmmmm aužerdem belegte Cluster markieren Neues in Version 2.3: - Vergr”žerung der Ausgabefelder von 5 auf 6 Stellen - Beschleunigung durch weniger Ausgaben beim Hochz„hlen Neues in Version 2.4: - Drive-Locking ("devlock" von Hans-Juergen Richstein, (c) 1994 Kaktus GbR), dadurch ist jetzt auch der Einsatz unter Multitasking-Systemen m”glich. Der Reset nach dem Optimieren bleibt trotzdem. - verallgemeinerte Behandlung von "BAD-CLUSTER". Eigentlich sollten defekte Cluster durch den Wert 0xFFF7 markiert sein. Da aber einige Programme eigentlich nicht erlaubte Werte zur Markierung benutzen (z.B. 0xFFF1), werden jetzt alle Werte von 0xFFF0 bis 0xFFFE als Defekt-Markierung erkannt und bleiben unver„ndert. Neues in Version 2.5: - Protokoll-Fenster von 400 auf 4000 Zeilen vergr”žert. - Men-Option zum Speichern des LOGs - neue Option: "#CLUSTER", liefert den Dateinamen zu diesem Cluster. - max. 30 Laufwerke - Optimierung und Korrektur fr VFAT-Filesysteme (MagiC 5.0) Neues in Version 2.6: - Ausgabe des kompletten Pfades statt nur des Datei-Namens - Partitionen mit Sektorgr”žen bis 32KB sind m”glich - die "reservierten" Felder im DIR-Eintrag bleiben erhalten, und das erste Byte hinter dem Attribut [12] kann auch !=0 sein. Neues in Version 2.7: - phys. Check funktioniert wieder, keine GEM-Alerts mehr bei Lesefehlern. Neues in Version 2.8: (November 1998) - Anpassung an BigDOS (mehr als 2 Sektoren/Cluster und mehr als 65536 Sektoren/Partition) - nach einem phys. Check funktioniert die Maus wieder - Shortcut ^S zum Sichern des Log's - Korrektur eines Fehlers, der auftrat, wenn die L„nge des Root- Verzeichnisses kein Vielfaches des Clustergr”že war Kommentare, Anregungen, Kritiken bitte an: H.-P. Vetter oder Peter Schneider @ SU2 () Happy Optimizing hpv